package com.ruoyi.project.wceimms.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 装置送检接收单明细（Inspection Receipt Form）对象 wceimms_irf_detail
 * 
 * @author hanl
 * @date 2025-02-06
 */
public class WceimmsIrfDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 接收单明细ID */
    private Long irfDetailId;

    /** 检修编号 */
    @Excel(name = "检修编号")
    private String maintenanceNumber;

    /** 主单编号 */
    @Excel(name = "主单编号")
    private Long irfMainId;

    /** 序号 */
    @Excel(name = "序号")
    private Long sortNumber;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品型号 */
    @Excel(name = "产品型号")
    private String productModel;

    /** 生产厂家 */
    @Excel(name = "生产厂家")
    private String factoryName;

    /** 出厂日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date factoryDate;

    /** 出厂编号 */
    @Excel(name = "出厂编号")
    private String factoryNumber;

    /** 试件编号(自编号) */
    @Excel(name = "试件编号(自编号)")
    private String customNumber;

    /** 主要工艺参数 */
    @Excel(name = "主要工艺参数")
    private String mainParameter;

    /** 装置用途 */
    @Excel(name = "装置用途")
    private String equipmentUse;

    /** 检维修项目 */
    @Excel(name = "检维修项目")
    private String items;

    private String[] itemsArray;

    /** 标识 */
    @Excel(name = "标识")
    private String mark;

    private String[] markArray;

    /** 是否加急 */
    @Excel(name = "是否加急")
    private String urgent;

    /** 清洁情况 */
    @Excel(name = "清洁情况")
    private String cleanCondition;

    /** 本体碰撞情况 */
    @Excel(name = "本体碰撞情况")
    private String collisionCondition;

    /** 附件情况 */
    @Excel(name = "附件情况")
    private String attachmentCondition;

    public void setIrfDetailId(Long irfDetailId) 
    {
        this.irfDetailId = irfDetailId;
    }

    public Long getIrfDetailId() 
    {
        return irfDetailId;
    }
    public void setMaintenanceNumber(String maintenanceNumber) 
    {
        this.maintenanceNumber = maintenanceNumber;
    }

    public String getMaintenanceNumber() 
    {
        return maintenanceNumber;
    }
    public void setIrfMainId(Long irfMainId)
    {
        this.irfMainId = irfMainId;
    }

    public Long getIrfMainId()
    {
        return irfMainId;
    }
    public void setSortNumber(Long sortNumber) 
    {
        this.sortNumber = sortNumber;
    }

    public Long getSortNumber() 
    {
        return sortNumber;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductModel(String productModel) 
    {
        this.productModel = productModel;
    }

    public String getProductModel() 
    {
        return productModel;
    }
    public void setFactoryName(String factoryName) 
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName() 
    {
        return factoryName;
    }
    public void setFactoryDate(Date factoryDate) 
    {
        this.factoryDate = factoryDate;
    }

    public Date getFactoryDate() 
    {
        return factoryDate;
    }
    public void setFactoryNumber(String factoryNumber) 
    {
        this.factoryNumber = factoryNumber;
    }

    public String getFactoryNumber() 
    {
        return factoryNumber;
    }
    public void setCustomNumber(String customNumber) 
    {
        this.customNumber = customNumber;
    }

    public String getCustomNumber() 
    {
        return customNumber;
    }
    public void setMainParameter(String mainParameter) 
    {
        this.mainParameter = mainParameter;
    }

    public String getMainParameter() 
    {
        return mainParameter;
    }
    public void setEquipmentUse(String equipmentUse)
    {
        this.equipmentUse = equipmentUse;
    }

    public String getEquipmentUse()
    {
        return equipmentUse;
    }

    public String getItems() {
        return items;
    }

    public void setItems(String items) {
        this.items = items;
        if(this.items.length()>0){
            this.itemsArray=this.items.split(",");
        }
    }
    public String[] getItemsArray() {
        return itemsArray;
    }

    public void setItemsArray(String[] itemsArray) {
        this.itemsArray = itemsArray;
        if(this.itemsArray.length>0){
            this.items=String.join(",",itemsArray);
        }
    }

    public void setMark(String mark)
    {
        this.mark = mark;
        if(this.mark.length()>0){
            this.markArray=this.mark.split(",");
        }
    }

    public String getMark() 
    {
        return mark;
    }

    public String[] getMarkArray() {
        return markArray;
    }

    public void setMarkArray(String[] markArray) {
        this.markArray = markArray;
        if(this.markArray.length>0){
            this.mark=String.join(",",markArray);
        }
    }

    public void setUrgent(String urgent)
    {
        this.urgent = urgent;
    }

    public String getUrgent() 
    {
        return urgent;
    }
    public void setCleanCondition(String cleanCondition) 
    {
        this.cleanCondition = cleanCondition;
    }

    public String getCleanCondition() 
    {
        return cleanCondition;
    }
    public void setCollisionCondition(String collisionCondition) 
    {
        this.collisionCondition = collisionCondition;
    }

    public String getCollisionCondition() 
    {
        return collisionCondition;
    }
    public void setAttachmentCondition(String attachmentCondition) 
    {
        this.attachmentCondition = attachmentCondition;
    }

    public String getAttachmentCondition() 
    {
        return attachmentCondition;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("irfDetailId", getIrfDetailId())
            .append("maintenanceNumber", getMaintenanceNumber())
            .append("irfMainId", getIrfMainId())
            .append("sortNumber", getSortNumber())
            .append("productName", getProductName())
            .append("productModel", getProductModel())
            .append("factoryName", getFactoryName())
            .append("factoryDate", getFactoryDate())
            .append("factoryNumber", getFactoryNumber())
            .append("customNumber", getCustomNumber())
            .append("mainParameter", getMainParameter())
            .append("equipmentUse", getEquipmentUse())
            .append("items", getItems())
            .append("mark", getMark())
            .append("remark", getRemark())
            .append("urgent", getUrgent())
            .append("cleanCondition", getCleanCondition())
            .append("collisionCondition", getCollisionCondition())
            .append("attachmentCondition", getAttachmentCondition())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
